<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>jsTree v.1.0 - contextmenu documentation</title>
	<script type="text/javascript" src="../_lib/jquery.js"></script>
	<script type="text/javascript" src="../_lib/jquery.cookie.js"></script>
	<script type="text/javascript" src="../_lib/jquery.hotkeys.js"></script>
	<script type="text/javascript" src="../jquery.jstree.js"></script>

	<link type="text/css" rel="stylesheet" href="syntax/!style.css"/>
	<link type="text/css" rel="stylesheet" href="!style.css"/>
	<script type="text/javascript" src="syntax/!script.js"></script>
</head>
<body>
<div id="container">

<h1 id="dhead">jsTree v.1.0</h1>
<h1>contextmenu plugin</h1>
<h2>Description</h2>
<div id="description">
<p>The <code>contextmenu</code> plugin enables a contextual menu to be shown, when the user right-clicks a node (or when triggered programatically by the developer).</p>
</div>

<h2 id="configuration">Configuration</h2>
<div class="panel configuration">
<h3>select_node</h3>
<p class="meta">Boolean. Default is <code>false</code>.</p>
<p>Whether to select the right clicked node when showing the context menu. If this is set to <code>true</code> and the node is not selected all currently selected nodes will be deselected.</p>

<h3>show_at_node</h3>
<p class="meta">Boolean. Default is <code>true</code>.</p>
<p>Whether to show the context menu just below the node, or at the clicked point exactly.</p>

<h3>items</h3>
<p>Expects an object or a function, which should return an object. If a function is used it fired in the tree's context and receives one argument - the node that was right clicked. The object format is:</p>
<div style="border:1px solid gray">
<pre class="brush:js">
{
// Some key
"rename" : {
	// The item label
	"label"				: "Rename",
	// The function to execute upon a click
	"action"			: function (obj) { this.rename(obj); },
	// All below are optional 
	"_disabled"			: true,		// clicking the item won't do a thing
	"_class"			: "class",	// class is applied to the item LI node
	"separator_before"	: false,	// Insert a separator before the item
	"separator_after"	: true,		// Insert a separator after the item
	// false or string - if does not contain `/` - used as classname
	"icon"				: false,
	"submenu"			: { 
		/* Collection of objects (the same structure) */
	}
}
/* MORE ENTRIES ... */
}
</pre>
</div>
</div>

<h2 id="demos">Demos</h2>
<div class="panel">

<h3>Using the contextmenu</h3>
<div id="demo1" class="demo">
	<ul>
		<li id="phtml_1">
			<a href="#">Root node 1</a>
			<ul>
				<li id="phtml_2">
					<a href="#">Child node 1</a>
				</li>
				<li id="phtml_3">
					<a href="#">Child node 2</a>
				</li>
			</ul>
		</li>
		<li id="phtml_4">
			<a href="#">Root node 2</a>
		</li>
	</ul>
</div>
<script type="text/javascript" class="source">
$(function () {
	$("#demo1").jstree({ 
		"plugins" : [ "themes", "html_data", "ui", "crrm", "contextmenu" ]
	});
});
</script>

</div>

<h2 id="api">API</h2>
<div class="panel api">

<h3 id="show_contextmenu">.show_contextmenu ( node , x, y )</h3>
<p>Shows the contextmenu next to a node. Triggered automatically when right-clicking a node.</p>
<ul class="arguments">
	<li>
		<code class="tp">mixed</code> <strong>node</strong>
		<p>This can be a DOM node, jQuery node or selector pointing to an element within the tree.</p>
	</li>
	<li>
		<code class="tp">number</code> <strong>x</strong>
		<p>The X-coordinate to show the menu at - may be overwritten by <code>show_at_node</code>. If you omit this the menu is shown aligned with the left of the node.</p>
	</li>
	<li>
		<code class="tp">number</code> <strong>y</strong>
		<p>The Y-coordinate to show the menu at - may be overwritten by <code>show_at_node</code>. If you omit this the menu is shown just below the node.</p>
	</li>
</ul>

</div>

</div>
</body>
</html>